package com.tianyadu.mmall.core.validate.code.service;

import org.springframework.web.context.request.ServletWebRequest;

/**
 * 校验码处理器，封装不同校验码的处理逻辑
 *
 * @author xueyj
 * @date 2019-11-14 00:08
 */
public interface ValidateCodeProcessor {

    /**
     * 验证码放入session时的前缀
     */
    String SESSION_KEY_PREFIX = "SESSION_KEY_FOR_CODE_";

    /**
     * 创建校验码
     *
     * @param servletWebRequest spring工具类，封装请求/响应信息
     * @return void
     * @author xueyj
     * @date 2019/11/14-0:09
     */
    void create(ServletWebRequest servletWebRequest) throws Exception;

    /**
     * 校验验证码
     *
     * @param request spring工具类，封装请求/响应信息
     * @return void
     * @author xueyj
     * @date 2019/11/14-0:09
     */
    void validate(ServletWebRequest request);
}
